1. Field of the Invention
This invention relates generally to computing technology and more particularly concerns the configuration of a single SCSI chip to be used as a multi-channel device capable of controlling separate communication for different types of devices, such as SCSI devices and RAID devices.
2. Description of the Related Art
To access and control certain types of peripheral devices connected to a computer system, the computer generally utilizes host adapter cards (or controllers) attached to the computer""s peripheral component interconnect (PCI) bus. The computer may also have peripheral device controllers built into the motherboard. These controllers serve to coordinate and manage the data communication to and from the peripheral devices. Controllers may be in the form of a video display adapter, an integrated drive electronics (IDE) controller, a small computer system interface (SCSI) controller, or other similar cards or chips which control peripheral devices. Each of these controllers manage a single type of peripheral device and, if not built into the motherboard, takes up one expansion slot on the PCI bus.
Generally, SCSI controller cards contain a certain type of computer chip known as an application-specific integrated circuit (ASIC). ASICs are usually created for a specific purpose or application such as controlling SCSI devices, RAID arrays, or other similar devices. ASICs that manage SCSI devices are commonly known as SCSI chips. A SCSI controller generally contains one SCSI chip. By use of software device drivers, a host computer can instruct a SCSI chip to manage a specific peripheral device and control the data transfer between the peripheral device and the host computer.
In a computer system with SCSI peripherals, each different type of SCSI device that requires its own processor is connected to a different SCSI chip that controls that type of device. For example, the SCSI devices that interface with additional hardware such as RAID and the SCSI devices that use the computer""s CPU require separate SCSI chips/controllers to manage the individual peripheral device types.
FIG. 1 shows a computer configuration where two different types of peripheral devices are connected to a computer system. For example, a SCSI chip A 10 is connected to peripheral devices 16. The SCSI chip A 10 controls the input/output activities of the peripheral devices 16 and regulates the flow of data between the peripheral devices 16 and a host computer with a host central processing unit (CPU) 20. For the control of RAID storage devices, a RAID input output processor (IOP) 14 is connected to a SCSI chip B 12 which is in turn connected to a RAID storage array 18. The RAID IOP 14 manages all the read and write operations to the RAID storage array 18 by directing the SCSI chip B 12 to perform the read and write operations of the RAID storage array 18. As can be seen, in a complex computing environment where numerous types of SCSI peripheral devices (such as CD-ROMs, optical discs, RAID devices, hard disk drives, removable storage drives, tape backup drives, etc.) are connected to a computing system, different SCSI chips may be required to control the different functionality. One SCSI chip can control up to 15 devices with different software to match these device types, but as performance demand increases, it is required to separate higher performance devices by using additional SCSI chips. Furthermore, the option of adding multiple controller chips to a motherboard is limited and significantly increases the price of the system as well as complicating the integration and interoperability. Therefore, a prior art system using different SCSI chips for different types of peripheral devices is inefficient, costly, and more difficult to manage.
As can be seen, there is a need for a way that a single SCSI chip can control multiple types of peripheral devices having different functionality. Such a way to control a SCSI chip would allow multiple peripheral devices to be connected through a single controller in a PCI slot or a single chip located on the motherboard. This would permit many more peripherals to be connected to a computer and decrease the need for excess computer resources to manage the peripheral devices. Several inventive embodiments of the present invention are described below.
In one embodiment, a method for utilizing a SCSI chip capable of controlling different types of devices is disclosed. A first channel control and a second channel control are set in the SCSI chip. A first peripheral device type is managed using the first channel control and a second peripheral device type is managed using the second channel control.
In another embodiment, a dual channel SCSI chip capable of controlling different types of peripheral devices is disclosed. The dual channel SCSI chip has a first channel for managing a first peripheral device and a second channel for managing a second peripheral device. The dual channel SCSI chip also has a first interrupt which connects with the first channel and a second interrupt which connects with the second channel. An arbiter is also included in the dual channel SCSI chip which controls access of the first channel and the second channel to a memory having configuration information for the dual channel SCSI chip.
In another embodiment a method for utilizing a SCSI chip capable of controlling different types of devices is disclosed. First, a CMOS programming instruction is set in a memory and a computer is rebooted to initialize the computer based on the CMOS programming instruction. Then a system BIOS communicates to establish access to the CMOS programming instruction. A SCSI chip configuration is determined by examining the CMOS programming instruction. A first device ID is then written to a first SCSI chip channel and a second device ID is written to a second SCSI chip channel.
In yet another embodiment a method for configuring a SCSI chip capable of controlling different types of devices is disclosed. First, a CMOS programming instruction is set in a memory. A computer is rebooted to initialize the CMOS programming instruction into a memory. A SCSI chip configuration is determined by examining the CMOS programming instruction. This is done by checking certain bits from the memory to establish types of devices the SCSI chip is required to control. Then a first device ID is written to a first SCSI channel and a second device ID) is written to a second SCSI channel.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.